End-to-end response time ("ETE RT") refers to the time a user experiences in interacting with a computing system. It is typically the duration between the start of a user's request (e.g., indicated by depressing a key or a button) and the time when the user can use the data supplied in response to the request. Thus, end-to-end response time represents a user orientation in performance management as contrasted with resource oriented performance metrics such as CPU utilization or I/O rate.
ETE RT bridges the business and technical worlds. On one hand, the end-to-end response time of a transaction can be associated with a business transaction performed by the application. On the other hand, end-to-end response time of a user transaction is also related to the resources consumed by the transaction. Thus, ETE RT serves a very important link between the business understanding of computer use and the technical understanding of the system (see e.g., Richard S. Ralston. In Search of End-to-End Response Time. Computer Measurement Group Conference Proceedings, December 1995).
ETE RT is available and is used today to some degree in a mainframe environment. For example, combined CICS/VTAM, two subsystems of MVS, have such a facility (see "CICS/ESA Performance Guide for Release 4.1," IBM Corporation, 1996, SC33-1183-00). However it works only on those subsystems and provides no decomposition measurement or correlation. The NetView Performance Monitor (NPM) product allows measurement of total ETE RT in an MVS/VTAM environment for some limited circumstances (see "NetView Performance Monitor" (NPM), IBM Corp., Product Number 5665-333. Manual GH19-6840-01). NPM, which is terminal-based (unlike the client/server environment), does not decompose this total time. ETE RT is just emerging in a client/server environment. Despite the importance of ETE RT, there are surprisingly few established products to measure it. This is one indication of the degree of technical difficulty to produce such a facility.
The Application Response Measurement API and SDK (available from the Hewlett-Packard and Tivoli WebSites (http://www.hp.com/go/arm and http://www.tivoli.com/ARM) define and support an API that allows indication in an application of when a transaction starts and when it completes. The ARM API is supported by products such as those by Tivoli Systems under the trademark TIVOLI REPORTER (see http://www.tivoli.com) and by Hewlett-Packard Corporation under the trademark MEASUREWARE (see http://www.hp.com)). Neither the ARM API nor these products have the capability to measure components of response time and aggregate those components into a performance profile of each transaction.
Another product, sold by VitalSigns Corp. under the trademark NET.MEDIC (see http://www.vitalsigns.com), allows the measurement of response time at an Internet browser. It does not do measurements of the server computer and performs no correlation.
Still another product, sold by Candle Corporation (http://www.candle.com)] under the trademark ETEWATCH, measures the total response time of an Internet browser but provides no decomposition of the response time.
Yet another product, sold by Computer Associates Corp. under the trademark NETSPY, captures packet headers and provides a measurement of ETE RT for a limited set of standard applications. It uses certain assumptions (perhaps incorrect) about a packet's content and order for those applications. The product does not provide decomposition of ETE RT.
Another product, sold by the Network General Corp. under the Trademark SNIFFER, allows A comprehensive collection of network traffic (packets) and a fairly large set of analysis programs. Some of those programs provide an indication of ETE RT. In general, it is a network traffic analyzer and has a limited ETE RT capability. The product does not provide decomposition of ETE RT.
ETE RT measurement is one of the key measures of service levels provided by the computing equipment. In many companies ETE RT is tracked at the executive level (especially in the case of CICS).
This is how user satisfaction is measured. When computing equipment is upgraded, the improvement in ETE RT serves as one indication of the effectiveness of the upgrade. The client/server environment in general is more end-user oriented. Also, the equipment in this environment comes in less expensive units, which tends to reduce the importance of resource oriented measurements. Thus the introduction of ETE RT measurements and the methodology of its use in client/server environment are of significant business interest (see "Distributed Client Server End-to-End Response Time: Instrumentation, Methodology and Experience," by Mark M. Maccabee, Anna Long, and Walter Schwane, Computer Measurement Group Conference Proceedings, December 1995.; and "Client/Server End-to-End Response Time: Real Life Experience," by Mark M. Maccabee, Computer Measurement Group Conference Proceedings, December 1996. Since the client/server environment is relatively new and not well understood, introduction of an ETE RT facility presents a significant technical challenge.
Once the user response information is available to users, their interest shifts. They want and need more details about the user transaction (to decompose it). In client/server systems, for transactions deemed to take too much time, the user wants to how much of the time was spent in the client, in the network and in the server. This need comes from the underlying business question: since the system is too slow, which of its three main components needs to be worked on (to tune it, to fix it, to upgrade it).
There are patents directed to various aspects of response time. For example, U.S. Pat. No. 5,504,894, entitled "Workload Manager for Achieving Transaction Class Response Time Goals in a Multiprocessing System" does not provide ETE response time measurements. Rather it measures the server (mainframe) component of response time and claims to improve it automatically. U.S. Pat. No. 5,428,789, entitled "Method and Apparatus for Optimizing User Response Time in a Priority Preemptive Operating System" similarly is directed to improving response time rather than measuring and decomposing it.
U.S. Pat. No. 4,369,493, entitled "Response Time Monitor" describes a hardware system that tracks the characteristic of a computer terminal to measure ETE RT. It does not deal with decomposition. The value of terminal based measurement facility such as this is greatly diminishing because of the move to more modem workstations.
Thus, there is a need for an improved method and system for measuring and reporting availability and performance of end-to-end business transactions. There is also a need for a means to copy or derive information necessary for correlating and collating select measurement events into transactions that describe the behavior of end-to-end business transactions as it applies to availability and performance metrics. There is a further need for the system to correlate and associate transactions occurring at different measurement points within the path taken by a business transaction so availability and performance can be assessed at select points along the path, decomposing the overall availability and performance into its component parts at or between these select points. The present invention addresses these needs.